//axios请求接口封装
import { useUserStore } from "@/stores/user";
import axios from "axios";

// 创建axios实例 
const request = axios.create({
    // baseURL: 'http://120.55.0.103:8080',
    baseURL: '/api',
    // baseURL: 'http://localhost:8080',
    timeout: 120000,
    headers: {
        "Content-Type": "application/json",
    },
});

// 请求拦截器
request.interceptors.request.use(
    config => {
        // 从localStorage获取token
        // const token = localStorage.getItem('token')
        // 从pinia中获取token
        const token = useUserStore().token 
        // console.log('token', useUserStore())// 指定允许的来源
        if (token) {
            config.headers.Authorization = token
        }else{
            console.log('token不存在', token)
        }   
        return config
    },
    error => {
        return Promise.reject(error)
    }
)

// 添加响应拦截器
request.interceptors.response.use(
    response => {
        // 直接返回完整的 response，让组件自己处理数据结构
        return response
    },
    error => {
        if (error.response?.status === 401) {
            // token过期，清除token并跳转到登录页
            localStorage.removeItem('token')
            // window.location.href = '/login'
        }
        return Promise.reject(error)
    }
)
export default request;
// // 请求拦截器（移除与Token相关的逻辑）
// request.interceptors.request.use(
//     config => {
//         return config;
//     },
//     error => {
//         return Promise.reject(error);
//     }
// );

// // 响应拦截器（移除与401相关的逻辑）
// request.interceptors.response.use(
//     response => {
//         return response;
//     },
//     error => {
//         return Promise.reject(error);
//     }
// );


